home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / psion / src.doc / unsorted / opl_c / opl.c < prev    next >
C/C++ Source or Header  |  1984-10-28  |  653b  |  39 lines

  1. /*
  2. OPL.C
  3. */
  4.  
  5. #include <p_std.h>
  6.  
  7. #pragma call(c_conv=>off,reg_param =>(ax,bx,cx,dx),reg_saved =>(di,si,ds,st1,st2))
  8.  
  9. LOCAL_C INT f1(INT p1,INT p2,INT p3);
  10. LOCAL_C INT f2(INT p1,INT p2,INT p3);
  11.  
  12. #pragma save
  13. #pragma call(seg_name=>null,near_call=>off)
  14. GLDEF_C INT choose(INT procno,INT p1,INT p2,INT p3)
  15. /*
  16. Must return with a retf (ret far), since called from OPL
  17. */
  18.     {
  19.     switch (procno)
  20.         {
  21.     case 1:
  22.         return (f1(p1,p2,p3));
  23.     case 2:
  24.         return (f2(p1,p2,p3));
  25.         }
  26.     return (-1);
  27.     }
  28. #pragma restore
  29.  
  30. LOCAL_C INT f1(INT p1,INT p2,INT p3)
  31.     {
  32.     return (1234);
  33.     }
  34.  
  35. LOCAL_C INT f2(INT p1,INT p2,INT p3)
  36.     {
  37.     return (9876);
  38.     }
  39.